1 REM ********************************* 2 REM ** MOBILE ARMATRON SOFTWARE ** 3 REM ** NAME: ROBOT ** 4 REM ** (C) 1986, JJB ** 5 REM ** MANALAPAN, NJ 07726 ** 6 REM ** V 860928 ** 7 REM ********************************* 10 DIM A(12),B(250,1):GOSUB 3000:GOSUB 5000:POKE 56579,255:POKE 56577,0 20 A(1)=38:A(2)=70:A(3)=36:A(4)=34:A(5)=33:A(6)=65 30 A(7)=40:A(8)=72:A(9)=48:A(10)=80:A(11)=66:A(12)=68 40 SS$="1234567890+-":RC$=CHR$(5)+CHR$(18) 50 GOSUB 3000:RO=6:CO=10:GOSUB 5050:PRINTRC$;" M A I N M E N U " 60 PRINT:PRINTTAB(12);"< F1 >: LEARN":PRINT:PRINTTAB(12);"< F3 >: DO" 70 PRINT:PRINTTAB(12);"< F5 >: SAVE":PRINT:PRINTTAB(12);"< F7 >: RETRIEVE" 80 PRINT:PRINTTAB(10);" Q: QUIT (END) 90 RO[178]19:CO[178]10:[141] 5050:[153]"WHICH... " 100 [161] SR$:[139] SR$[178]"" [167] 100 110 SR[178][198](SR$)[171]132:[139] SR[178][171]115 [167] SR[178]5 120 [139] SR[179]1 [176] SR[177]5 [167] 90 130 [145] SR [141] 200,300,400,600,800 140 [137] 50 200 [141] 1000:J[178]B(0,0):X[178]0:[143]*** LEARN MODE *** 210 [161] A$:[139] A$[178]"" [167] 210 220 [139] [198](A$)[178]133 [167] [142] 230 [141] 2000:[139] I[178]0 [167] [151] 56577,0:[137] 210 240 [151] 56577,A(I) 250 [161] A$:[139] A$[178]"" [167] X[178]X[170]1:[137] 250 260 [151] 56577,0 270 J[178]J[170]1:B(J,0)[178]I:B(J,1)[178]X:X[178]0:B(0,0)[178]J 280 RO[178]I[170]10:CO[178]5:[141] 5050:[153] [202](SS$,I,1);:[137] 210 300 [143]** DO PROCEDURE 310 [153][199](147):[153]BL$:[153]" DO PROCEDURE":[153]BL$:[153] 320 [139] B(0,0)[178]0 [167] [153]"NO PROCEDURE IN MEMORY.":[137] 375 330 [153]"PRESS ANY KEY TO BEGIN PROCEDURE." 340 [161] A$:[139] A$[178]"" [167] 340 350 [153]"PROCEDURE EXECUTION IN PROGRESS" 355 [129] I[178]1 [164] B(0,0):[151] 56577,A(B(I,0)) 360 [129] J[178]1 [164] B(I,1) 365 [161] A$:[139] A$[178]"" [167] X[178]X[170]1:[130] J 370 [151] 56577,0:[129] J[178]1 [164] 500:[130] J:[130] I:[153]"PROCEDURE DONE." 375 RO[178]18:CO[178]0:[141]5050:[153]"PRESS ANY KEY TO RETURN TO THE MENU." 380 [161] A$:[139] A$[178]"" [167] 380 390 [142] 400 [143]** SAVE PROCEDURE 410 [153][199](147):[153]BL$:[153]" SAVE PROCEDURE":[153]BL$:[153] 420 [139] B(0,0)[178]0 [167] [153]"NO PROCEDURE IN MEMORY.":[137] 480 430 [133]"ENTER FILE NAME TO SAVE";F$ 440 [159] 1,8,15:[159] 2,8,2,"@0:"[170]F$[170]",S,R":[132]1,E,ED$,TN,BL:[160] 1:[160] 2 450 [139] E[178]62 [167] 500 460 [153]"FILE EXISTS. CONTINUE (Y/N)...";:[141] 1500 470 [139] A$[178]"Y" [167] 500 480 [153]"ABORT. PRESS ANY KEY..." 490 [161] A$:[139] A$[178]"" [167] 490 495 [142] 500 [159] 2,8,2,"@0:"[170]F$[170]",S,W":[153]:[153]"SAVING PROCEDURE. WAIT." 510 [129] I[178]0 [164] B(0,0):[152]2,B(I,0):[152]2,B(I,1):[130] I:[160] 2:[160] 15 520 [153]:[153]"PROCEDURE SAVED. PRESS ANY KEY.":[137] 490 600 [143]** RETRIEVE PROCEDURE 610 [153][199](147):[153]BL$:[153]" RETRIEVE PROCEDURE":[153]BL$:[153] 620 [139] B(0,0)[178]0 [167] 650 630 [153]"PROCEDURE IN MEMORY. CONTINUE (Y/N)?";:[141] 1500 640 [139] A$[178]"N" [167] [153]"ABORT. ";:[137] 700 650 [133]"ENTER FILE NAME TO RETRIEVE";F$ 660 [159] 1,8,15:[159] 2,8,2,"@0:"[170]F$[170]",S,R":[132]1,E,ED$,TN,BL:[160] 1:[160] 2 670 [139] E[178]0 [167] 720 680 [139] E[178]62 [167] [153]"FILE DOESN'T EXIST. "; 690 [153]"PRESS ANY KEY." 700 [161] A$:[139] A$[178]"" [167] 700 710 [142] 720 [153]"RETRIEVING PROCEDURE. WAIT.":[159] 2,8,2,"@0:"[170]F$[170]",S,R" 730 [132]2,B(0,0):[132]2,B(0,1) 740 [129] I[178]1 [164] B(0,0):[132]2,B(I,0):[132]2,B(I,1):[130]:[160] 2 750 [153]"RETRIEVAL COMPLETE. ";:[137] 690 800 [143]** END 810 RO[178]5:CO[178]10:[141] 5050:[129] Q[178]1 [164] 16:[153] [163]10);B$:[130] 820 RO[178]10:CO[178]0:[141] 5050:[160]1:[160]2 830 [153]"PROGRAM ENDED. TO RE-ENTER, TYPE GOTO 50"; 840 [153]:[128] 1000 [143]** LEARN MODE SCREEN 1005 [153][199](147):[153]BL$ 1006 [153]" MOBILE ARMATRON ROBOT LEARN MODE ":[153]BL$:[153] 1007 [153]" PRESS KEY TO DO FUNCTION. PRESS ANYOTHER KEY TO STOP."; 1008 [153]" PRESS TO RETURNTO MENU.":[153] 1009 [153]" KEY FUNCTION":[153]" --- --------------------" 1010 [153][163]5);"1 = FORWARD":[153][163]5);"2 = BACKWARD" 1020 [153][163]5);"3 = RIGHT FORWARD TURN":[153][163]5);"4 = LEFT FORWARD TURN" 1030 [153][163]5);"5 = ARM UP":[153][163]5);"6 = ARM DOWN" 1040 [153][163]5);"7 = WRIST UP":[153][163]5);"8 = WRIST DOWN" 1050 [153][163]5);"9 = HAND TURN":[153][163]5);"0 = FINGERS MOVE IN/OUT" 1060 [153][163]5);"+ = RIGHT REVERSE TURN" 1070 [153][163]5);"- = LEFT REVERSE TURN" 1080 [142] 1500 [161] A$:[139] A$[178]"" [167] 1500 1510 A$[178][199]([198](A$) [175] 223) 1520 [139] A$[179][177]"Y" [175] A$[179][177]"N" [167] 1500 1530 [153] A$:[142] 2000 [143]** POSITION IN STRING 2010 [129] I[178]1 [164] 12:[139] A$[178][202](SS$,I,1) [167] 2030 2020 [130]:I[178]0:[142] 2030 RO[178]I[170]10:CO[178]5:[141] 5050:[153]RC$;A$:[142] 3000 [143]** FORMAT SCREEN= 3010 [151] 53280,6:[151] 53281,6:[153][199](147):B$[178][199](5)[170][199](18) 3020 BL$[178]B$[170]" ":[153] BL$ 3030 [153] B$;" MOBILE ARMATRON ROBOT CONTROLLER " 3040 [153]BL$ 3050 B$[178]" " 3060 [142] 5000 [143]* CURSOR CONTROL USING PLOT KERNEL ($FFF0) 5010 [131] 162,0,160,0,24,32,240,255,96,999 5020 A[178]49300:SC[178]A 5030 [135] B:[139] B[179][177]999 [167] [151] A,B:A[178]A[170]1:[137] 5030 5040 [142] 5050 [151] SC[170]3,COL:[151] SC[170]1,ROW:[158] SC 5060 [142]